package com.edu.servlet;

import java.io.File;
import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;

import com.edu.bean.Carinfo;
import com.edu.service.CarinfoService;
import com.edu.service.impl.CarinfoServiceImpl;
@WebServlet("/updatecarinfos")
@MultipartConfig
public class UpdateCarinfoServlet extends HttpServlet{
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		req.setCharacterEncoding("UTF-8");
		CarinfoService cs = new CarinfoServiceImpl();
		String id = req.getParameter("carid");
		String name = req.getParameter("carname");
		String price = req.getParameter("price");
		String color = req.getParameter("color");
		String material = req.getParameter("material");
		String configuration = req.getParameter("configuration");
		String introduce = req.getParameter("introduce");
		String performance = req.getParameter("performance");
		String guarantee = req.getParameter("guarantee");
		String accessories = req.getParameter("accessories");
		String smart = req.getParameter("smart");
		System.out.println(id);
		System.out.println(name);
		int carId = Integer.parseInt(id);
		double carprice = Double.parseDouble(price);
		Carinfo carinfo = new Carinfo(carId,name,carprice,color,material,configuration,introduce,performance,guarantee,accessories,smart);
		//获取用户上传的文件
		Part part = req.getPart("carImg");
		//用户只能上传小于1M的图片，且必须上传
		boolean carinfoimg=false;
		String savePath="";
			if(part.getSize() > 0 ) {
				if(part.getSize() <=1024*1024 || part.getContentType().contains("image")) {
					//生成一个独一无二的文件名.UUID，用户名_时间戳_原始文件名
					String saveName = name+"_"+System.currentTimeMillis()+part.getSubmittedFileName();
					//把文件存储到服务器的headImg路径下（真实路径）
					savePath = "c:/PhaetonCommunityImg/favoriteCar/"+saveName;
					//访问路径存在数据库，取出来之后直接拼字img下面的src的路径下
					String visitPath = "/PhaetonCommunity/favoriteCar/"+saveName;
					//用户上传的文件需要复制到真实保存路径
					part.write(savePath);
					carinfo.setCarImg(visitPath);
					carinfoimg=true;
				}else {
					req.setAttribute("carsImgMsg","图片必须小于1m");
					return;
				}
			}
			int res = cs.updatecarinfo(carinfo);
			if(res == 1 && carinfoimg) {
				String oldCover=req.getParameter("oldcarsCover");
				if(!"/PhaetonCommunity/favoriteCar/mrtp.jpg".equals(oldCover)) {
					String[] strs=oldCover.split("/");
					String fileName=strs[strs.length-1];
					System.out.println(fileName);
					File file=new File("C:/PhaetonCommunityImg/favoriteCar/"+fileName);
					if(file.exists()) {
						file.delete();
					}
				}
			}
		}
}
